ゲームのバックエンドをまるっとお任せ!Game Server Servicesの機能紹介
こんにちは、ゲームソリューション部の入井です。
本日、Game Server Service(GS2)について、以下の動画を公開しました。
こちらの動画では、GS2の概要と導入によるメリット、具体的にどのような機能を提供しているのかについて紹介しています。
この記事では、「テキストで読みたい!」という方向けに動画の内容を抜粋して書いていきます。
Game Server Services(GS2)とは
GS2 = Backend as a Service(BaaS)
GS2は、ゲームのバックエンドの機能を提供するサービスで、サービスの種類としてはBackend as a Service、通称BaaSに分類されます。 BaaSとは、アプリやシステムのバックエンド機能を開発者の代わりに引き受けるクラウドサービスのことを指します。
BaaSとは?|サービスとしてのバックエンド対サーバーレス | Cloudflare
GS2を導入することで、ゲーム開発者は機能の設計・開発を行ったり、複雑なインフラの運用管理をする手間から開放され、ユーザーが実際に見たり触ったりするゲームのフロント部分の開発に専念することができます。
(もちろん、必要な機能がGS2で提供されている場合に限ります)
GS2はゲームに必要な機能が一通り揃っている
GS2には、40種類以上ものゲームのバックエンド機能が用意されています。
GS2を上手く活用することで、ゲームの開発プロジェクトを開始する度によくある機能をいちいち最初から開発するような、いわゆる車輪の再発明の繰り返しからは脱却することができます。
GS2未導入時と導入時の開発フロー比較
GS2の導入によってどのような工数メリットがあるのかについて、具体的な開発フローにフォーカスしてご説明します。
まず、バックエンド機能が必要なゲームの開発フローについて、GS2を利用しない場合のフローをご紹介します。
最初に、バックエンドの開発作業が必要です。設計、実装、デバッグという工程を経て、開発した機能を新規構築したインフラにデプロイします。
また、バックエンド環境の用意だけでなく、それを利用するためのマスターデータ設定、クライアントへの実装作業も必要です。
上記のような作業が、バックエンドの機能ごとに必要となります。
次に、GS2を導入した場合の開発フローについてご紹介します。
必要な機能がGS2に存在している場合、その機能の開発は不要になります。バックエンド機能の開発や、インフラ関係の作業は全てGS2が担当します。そのため、フローの左半分の作業は不要になります。
また、GS2のインフラは高レベルのスケーラビリティとセキュリティを備えています。スケーラビリティについては秒間10万アクセスでの動作が検証済ですし、セキュリティについても最新のOSやミドルウェアが常に利用される仕組みが作られているうえ、サーバー自体にも堅牢なアクセス制限がかかっています。
GS2のバックエンド利用にあたっては、必要に応じてマスターデータの設定や、スクリプトによる機能のカスタマイズが可能です。
ゲームクライアントへのバックエンド呼び出し部分の実装作業が必要になりますが、使いやすいSDKが用意されているため、1からGS2の機能を呼び出すための仕組みを考える必要はありません。
SDKについては、以下のゲームエンジン、プログラミング言語のものが用意されています。
- ゲームエンジン
- Unity
- Unreal Engine
- プログラミング言語
- Java
- PHP
- Go
- Python
- TypeScript
- C#
GS2に用意されているバックエンド機能の一例
GS2には、ゲームのためのバックエンド機能だけでなく、開発や運用に必要な機能も揃っています。 各機能は、大きく分類すると以下のようになります。
これらの分類ごとに、どのような機能があるのかの一例をご紹介していきます。
※以下で紹介する機能以外にも様々なものが用意されています。
マイクロサービス紹介 | Game Server Services | Docs
プレイヤー情報
プレイヤー情報を管理するための機能。
- GS2-Account
- 各プレイヤー用の匿名アカウントの管理や認証機能を提供。
- GS2-Account | Game Server Services | Docs
- GS2-Inventory
- プレイヤーが所持しているアイテム情報の管理機能を提供。
- GS2-Inventory | Game Server Services | Docs
- GS2-Stamina
- 一定時間ごとに回復するスタミナによってプレイヤーの実行可能な機能を制限する仕組みを実現。
- GS2-Stamina | Game Server Services | Docs
- GS2-Mission
- 実績・トロフィー・ミッションなど、プレイヤーの行動に基づいて報酬を与える機能。
- GS2-Mission | Game Server Services | Docs
経済
ゲーム内の通貨やアイテムが関係する機能。
- GS2-Money
- 実際の現金相当の価値を持つゲーム内通貨について、残高管理等が可能。
- GS2-Money | Game Server Services | Docs
- GS2-Exchange
- 通貨によるアイテムの購入などゲーム内リソースの交換が可能。
- GS2-Exchange | Game Server Services | Docs
- GS2-Lottery
- 抽選で景品を決定するいわゆるガチャを実装可能。
- GS2-Lottery | Game Server Services | Docs
- GS2-Showcase
- 陳列棚のあるアイテムショップが作成可能。
- GS2-Showcase | Game Server Services | Docs
コミュニケーション
プレイヤー同士の交流をサポートする機能。
- GS2-Chat
- ゲーム内に常時接続型のテキストチャットを組み込める。
- GS2-Chat | Game Server Services | Docs
- GS2-Friend
- ゲーム内のフレンド管理機能やフォロー機能などを実装できる。
- GS2-Friend | Game Server Services | Docs
- GS2-Ranking
- プレイヤー間でゲームのスコアやクリアタイムなどを競うためのランキングが作成できる。
- GS2-Ranking | Game Server Services | Docs
- GS2-Matchmaking
- 様々な条件に基づいて対戦相手を見つけられる。
- GS2-Matchmaking | Game Server Services | Docs
システム
ゲームの運用のために役立つ機能。
- GS2-News
- ゲーム内でプレイヤーに対するお知らせをHTML形式で配信。
- GS2-News | Game Server Services | Docs
- GS2-Schedule
- 期間限定の季節イベントなど、ゲームの中で開催するイベントのスケジュールを管理。
- GS2-Schedule | Game Server Services | Docs
- GS2-Script
- ゲーム固有の機能を実現するためにGS2を拡張。
- GS2-Script
- GS2-Version
- アプリケーションのバージョンチェック機能などが実装できる。
- GS2-Version | Game Server Services | Docs
開発
サーバーの開発や運用のために必要な機能。
- GS2-Deploy
- あらかじめ作成したテンプレートを元に各サービスのリソースを作成。
- GS2-Deploy
- GS2-Identifier
- GS2にアクセスするためのユーザー別のクレデンシャル管理。
- GS2-Identifier
- GS2-Log
- GS2の各機能のログの集約・集計。
- GS2-Log
ソーシャルゲームでGSを使用する例
これまで紹介してきた機能の内容から分かるように、GS2はソーシャルゲームのバックエンド向けの機能が数多く用意されており、ゲームの仕様によってはGS2だけで全てカバー可能です。
例えば、一般的なソーシャルゲームで必要な機能は、プレイヤー認証の仕組み、所持キャラやアイテム等のゲームの情報管理、課金・ガチャ、プレイヤー同士の交流、ゲームの運営、ゲームサーバーの開発・運用などが挙げられます。
GS2では、用意されている各サービスを以下のように組み合わせることで、これらの機能を単独で実現することが可能です。
クラスメソッドではGS2の導入支援を行っています
今回の動画や記事でGS2に興味を持たれた方は、以下のリンク先のフォームから是非クラスメソッドまでお気軽にお問い合わせください。導入や開発・運用をする上での様々なサポートを実施可能です。